home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1999 January
/
EnigmA AMIGA RUN 33 (1999)(G.R. Edizioni)(IT)[!][issue 1999-01].iso
/
earcd
/
apus
/
boothack
/
old
/
bh980723.lha
/
bh980723
/
ppc_boot.s
< prev
next >
Wrap
Text File
|
1992-10-10
|
4KB
|
276 lines
# GNU C 2.7.2.1
# -O1 -fdefer-pop -fomit-frame-pointer -fthread-jumps -fpeephole
# -ffunction-cse -finline -fpcc-struct-return -fcommon -fgnu-linker -mpowerpc
# -mnew-mnemonics
.file "ppc_boot.c"
gcc2_compiled.:
.section ".text"
.align 2
.globl main
.type main,@function
.long 0x401c
main:
stwu 1,-16(1)
mflr 0
stw 31,12(1)
stw 0,20(1)
bl progress_init
li 3,97
bl progress
li 9,0
lis 0,0xf
ori 0,0,16959
.L4:
addi 9,9,1
cmpw 1,9,0
bc 4,5,.L4
li 3,98
bl progress
lis 11,0xdf
ori 11,11,61594
lis 9,0xdf
ori 9,9,61596
li 0,32767
sth 0,0(11)
sth 0,0(9)
li 3,99
bl progress
bl goSupervisor
li 3,100
bl progress
bl PPCCacheFlushAll
mfspr 0,1008
lis 3,0
ori 3,3,0xc000
andc 0,0,3
sync
isync
mtspr 1008,0
mfmsr 0
li 3,0b110000
andc 0,0,3
isync
mtmsr 0
sync
lis 9,0xf6
ori 9,9,24
li 0,129
stb 0,0(9)
li 3,101
bl progress
lis 9,0xf
ori 9,9,65280
lwz 31,0(9)
addi 31,31,512
rlwinm 0,31,0,30,31
addic 0,0,-4
subf 31,0,31
addis 9,0,relocate@ha
addi 11,9,relocate@l
mr 10,31
addis 9,0,relocateEnd@ha
addi 9,9,relocateEnd@l
subf 9,11,9
srwi. 9,9,2
bc 12,0,.L8
.L10:
lwz 0,0(11)
stw 0,0(10)
addi 10,10,4
addi 11,11,4
addic. 9,9,-1
bc 4,0,.L10
.L8:
li 3,102
bl progress
mr 0,31
mtlr 0
blr
.L14:
b .L14
.Lfe1:
.size main,.Lfe1-main
.align 2
.globl relocate
.type relocate,@function
.long 0x402c
relocate:
stwu 1,-16(1)
mflr 0
stw 30,8(1)
stw 31,12(1)
stw 0,20(1)
li 3,103
bl progress
lis 9,0xf
ori 9,9,65280
lwz 30,0(9)
lwz 31,0(30)
lwz 9,4(30)
lwz 0,8(30)
add 11,9,0
lwz 0,12(30)
add 11,11,0
cmpw 1,9,11
bc 12,6,.L17
.L18:
lbz 0,0(31)
stb 0,0(9)
addi 31,31,1
addi 9,9,1
cmpw 1,9,11
bc 4,6,.L18
.L17:
li 3,104
bl progress
lwz 9,4(30)
lwz 0,20(30)
add 9,9,0
lwz 0,16(30)
subf 11,0,9
add 31,31,0
cmpw 1,9,11
bc 12,6,.L21
.L22:
lbzu 0,-1(31)
stbu 0,-1(9)
cmpw 1,9,11
bc 4,6,.L22
.L21:
li 3,105
bl progress
lis 11,0xfff0
lwz 9,4(30)
addis 9,9,0x4000
stw 9,0(11)
lwz 9,4(30)
addis 0,9,0x4000
stw 0,0(9)
li 3,75
bl progress
lwz 0,16(30)
cmpwi 1,0,0
bc 12,6,.L24
lwz 5,20(30)
addis 5,5,0xc000
subf 4,0,5
b .L25
.L24:
li 4,0
.L25:
lis 3,0x6170
ori 3,3,30067
lwz 7,4(30)
addi 7,7,12
mtlr 7
blr
.L28:
b .L28
.Lfe2:
.size relocate,.Lfe2-relocate
.align 2
.globl goSupervisor
.type goSupervisor,@function
.long 0x400c
goSupervisor:
stwu 1,-16(1)
mflr 0
stw 0,20(1)
addis 9,0,setPRend@ha
addi 9,9,setPRend@l
addis 11,0,setPR@ha
addi 11,11,setPR@l
subf 9,11,9
lis 10,0xfff0
ori 10,10,1792
srawi 9,9,2
addze. 9,9
bc 4,1,.L31
.L33:
lwz 0,0(11)
stw 0,0(10)
addi 10,10,4
addi 11,11,4
addic. 9,9,-1
bc 12,1,.L33
.L31:
bl PPCCacheFlushAll
trap
lwz 0,20(1)
mtlr 0
addi 1,1,16
blr
.Lfe3:
.size goSupervisor,.Lfe3-goSupervisor
.align 2
.globl progress_init
.type progress_init,@function
.long 0x4008
progress_init:
stwu 1,-16(1)
lis 9,0xf
ori 9,9,65280
lwz 9,0(9)
lwz 11,24(9)
lis 0,0x5341
ori 0,0,22085
stw 0,0(11)
addi 9,11,4
lis 0,0x424f
ori 0,0,20308
stw 0,4(11)
stwu 11,4(9)
li 0,0
stw 0,4(9)
addi 1,1,16
blr
.Lfe4:
.size progress_init,.Lfe4-progress_init
.align 2
.globl progress
.type progress,@function
.long 0x4008
progress:
stwu 1,-16(1)
lis 9,0xf
ori 9,9,65280
lwz 9,0(9)
lwz 9,24(9)
lwz 0,12(9)
addic 0,0,16
stbx 3,9,0
lwz 0,12(9)
addic 0,0,1
stw 0,12(9)
addi 1,1,16
blr
.Lfe5:
.size progress,.Lfe5-progress
.text
.align 4
setPR:
/* Increase the return EA so we get to the next instruction */
mtsprg 1,1
mfsrr0 1
addi 1,1,4
mtsrr0 1
mfsprg 1,1
/* Fiddle the PR bit */
mfsrr1 0
rlwinm 0,0,0,18,16
mtsrr1 0
rfi
setPRend:
.text
.align 4
relocateEnd:
nop
.ident "GCC: (GNU) 2.7.2.1"